ShowTable of Contents
XPages Extension Library プラグインをテスト実行する手順を紹介します。
開発環境構築手順に沿って、Eclipse ワークスペースに Extension Library プラグインのソースコードをインポートしておいてください。
XPages Extension Library 開発環境構築(2):開発環境構築
なお、テスト実行手順については、以下の developerWorks 記事も参考になりますので、あわせてご覧ください。
developerWorks: IBM Lotus Domino 8.5.2 における OSGi バンドルの開発
Domino Debug Plugin のダウンロード
Eclipse ワークスペース上のプラグインをテスト実行・デバッグするためには Domino Debug Plugin が必要です。
OpenNTF の XPages SDK for Eclipse RCP プロジェクトの以下のページからダウンロードできます。
http://www.openntf.org/internal/home.nsf/release.xsp?documentId=CBF874E9C4607B4C8625799D00287B8C&action=openDocument
中央の DebugPlugin120207.zip リンクをクリックしてダウンロードしてください。
DebugPlugin120207.zip のダウンロードが完了したらファイルシステム上に展開しておいてください。
Domino Debug Plugin のインストール
ダウンロードした Domino Debug Plugin を Eclipse にインストールします。
Eclipse を起動して、Eclipse のメニューから 「Help」→「Install New Software...」 を選択します。
Install ダイアログが表示されたら、右側の「Add...」ボタンをクリックします。
Add Repository ダイアログが開いたら、「Local...」ボタンをクリックします。
あらかじめ展開しておいた DebugPlugin120207.zip の中の updatesite フォルダを選択して「OK」ボタンをクリックします。
Add Repository ダイアログに戻ったら、レポジトリに名前をつけて(ここでは Domino Debug Plugin)、「OK」ボタンをクリックします。
更新サイトに含まれるフィーチャーがリストされるので、Domino OSGi Debug Plugin にチェックをつけて、「Next >」ボタンをクリックします。
Install Details 画面が表示されたら内容を確認して「Next >」ボタンをクリックします。
ライセンスを確認して「I accept the terms of the license agreement」を選択して「Finish」をクリックします。
署名されていないプラグインをインストールする際の確認ダイアログが表示されるので、「OK」をクリックします。
インストールが開始されます。
インストールが完了すると再起動を促すダイアログが表示されるので、「Restart Now」をクリックして Eclipse を再起動します。
Eclipse が再起動したら、Eclipse のメニューから 「Window」→「Preferences」 を選択してプリファレンスダイアログを表示します。
プリファレンスダイアログで「Domino OSGi Debug Tooling」を選択し、Domino Bin Directory フィールドの右横の「Browse...」ボタンをクリックします。
Domino サーバーのインストールフォルダを選択して「OK」ボタンをクリックします。
※ もしDomino サーバーをローカルにインストールしていない場合は、Notes のインストールフォルダを選択してください。
その場合、Domino Designer の XPages プレビュー用ローカルサーバーが使用されます。
プリファレンスダイアログに戻ったら、Domino Data Directory フィールドの右横の「Browse...」ボタンをクリックします。
Domino サーバーの Data フォルダを選択して「OK」ボタンをクリックします。
※ もしDomino サーバーをインストールしていない場合は、Notes の Data フォルダを選択してください。
その場合、Domino Designer の XPages プレビュー用ローカルサーバーが使用されます。
Domino サーバーのインストールフォルダと Data フォルダが正しく指定されていることを確認したら、「OK」ボタンをクリックしてプリファレンスダイアログを閉じます。
Domino サーバーでのテスト実行
Eclipse ワークスペース上のプラグインを Domino サーバー上でテスト実行します。
この手順により、プラグインやフィーチャーをビルドして Domino サーバーにデプロイしなくても、ワークスペース上のプラグインモジュールをそのまま Domino サーバー上の OSGi ランタイムにロードすることができます。
Eclipse のメニューから 「Run」→「Run Configurations...」 を選択します。
Run Configurations ダイアログで、「OSGi Framework」を右クリックして「New」を選択します。
以下を設定して「Run」ボタンをクリックします。
- Name: 適当な名前をつける (例えばここでは「Domino OSGi」)
- Framework: 「Domino OSGi Framework」 を選択
- Default Auto-Start: 「false」 を選択
- Bundles: 「Workspace」にチェックをつけ、「Target Platform」のチェックを外した状態にする
設定の確認ダイアログが表示され、先にプリファレンスで設定した Domino のインストールフォルダと Data フォルダのパスが表示されるので、設定が正しいことを確認して「OK」ボタンをクリックします。
※ 先のプリファレンスで Notes のインストールフォルダと Data フォルダを指定した場合は、その設定が表示されます。
その場合、Domino Designer の XPages プレビュー用ローカルサーバーが使用されます。
Success ダイアログが表示されたら「OK」ボタンをクリックします。
※ ダイアログに表示されているように、プラグインをロードするための設定ファイルが <Domino の Data フォルダ>\domino\workspace フォルダの pde.launch.ini というファイルに出力されます。
プラグインのテスト実行準備が整ったので、Domino サーバーを起動します。
すでに起動している場合は、Domino サーバーのコンソールで以下のコマンドを実行してDomino サーバーの HTTP タスクを再起動します。 (もしくは Domino サーバーを再起動でも可)
restart task http
設定が成功していると下図のようなメッセージが Domino サーバーのコンソールに表示されます。
プラグインが OSGi ランタイムにロードされているかどうかを確認するには、Domino サーバーのコンソールで以下のコマンドを実行します。
tell http osgi ss com.ibm.xsp.extlib
下図のように Extension Library のプラグインがリストされればテスト実行成功です。
Domino Designerでのテスト実行
サーバーでの動作を確認するだけの場合は Domino サーバーでのテスト実行だけで十分ですが、Domino Designer 上での表示確認や新しいコントロールの追加などによる再ビルドが必要な場合などには、Domino Designer 上でもプラグインをテスト実行する必要があります。
ここでは、ワークスペースからプラグインをエクスポートして、Domino Designer にロードさせる手順を紹介します。
※ デフォルトで Notes および Domino Designer は、セキュリティの観点から、フィーチャーのないプラグインだけのモジュールをコピーしただけではロードされない設定になっています。
ここではこの設定を一時的に変更して、プラグインをコピーしただけでロードされるようにします。
セキュリティの制約を緩める設定ですので、開発環境だけでの使用にとどめ、実運用環境では使用しないようにしてください。
まず、Extension Library モジュールの中に含まれている ExtLib-Notes85.zip を展開します。
展開したフォルダの中にある framework フォルダを、<Notes のインストールフォルダ>\framework フォルダに上書きコピーします。
上書き後、以下を確認してください。
- <Notes のインストールフォルダ>\framework フォルダの下に extlib フォルダができている
- <Notes のインストールフォルダ>\framework\rcp\eclipse\links\extlib.link というファイルができている
確認できたら、extlib.link ファイルをテキストエディタで開き、path プロパティの値が先ほど確認した extlib フォルダのパス(<Notesのインストールフォルダ>/framework/extlib)になるように編集して保存します。
path=C\:/Lotus/Notes/framework/extlib |
これで、Extension Library プラグインをエクスポートするフォルダができました。
次に、このフォルダにコピーしたプラグインを Notes および Domino Designer がロードするように設定を変更します。
<Notes の Data フォルダ>\workspace\.config\org.eclipse.update フォルダの platform.xml をテキストエディタで開きます。
※ 元の platform.xml ファイルのバックアップをとっておくことをおすすめします。テスト実行完了後に元の状態に戻しやすくなります。
以下の部分を修正して platform.xml を保存します。
- config タグの transient 属性を true から false に変更
- site タグで、url が "platform:/base/" の部分の policy タグを "MANAGED-ONLY" から "USER-EXCLUDE" に変更
以上でプラグインをロードする設定が完了しました。
あとは Eclipse ワークスペース上のプラグインを、先に作った framework\extlib フォルダにエクスポートします。
Eclipse のメニューから、「File」→「Export...」 を選択します。
Export ダイアログで、「Plug-in Development」→「Deployable plug-ins and fragments」 を選択して「Next >」ボタンをクリックします。
プラグインの選択画面で、「Select All」ボタンをクリックしてワークスペース上のすべてのプラグインにチェックをつけます。
その後、Destination タブで Directory を選択して、先に作成した <Notesのインストールフォルダ>\framework\extlib\eclipse フォルダを指定して「Finish」ボタンをクリックします。
<Notesのインストールフォルダ>\framework\extlib\eclipse フォルダの下に plugins フォルダが作成され、その下にプラグインの JAR ファイルがエクスポートされていることを確認します。
ここまで完了したら Domino Designer を起動します。(すでに起動している場合は再起動します)
Domino Designer が起動したら、Domino Designer のメニューから 「ヘルプ」→「IBM Lotus Domino Designer について」 を選択します。
ダイアログが表示されたら、「プラグインの詳細」ボタンをクリックします。
プラグインのリストの中に先ほどエクスポートした Extension Library プラグインがリストされていればテスト実行成功です。
テスト実行後のクリーンアップ
テスト実行後、もとの状態に戻すには以下の操作を行ってください。
<Domino の Data フォルダ>\domino\workspace フォルダ以下の pde.launch.ini ファイルを削除します。
※ Domino Designer のプレビューサーバーを利用した場合は、<Notes の Data フォルダ>\domino\workspace フォルダ以下の pde.launch.ini ファイルを削除してください。
テスト実行時に編集した <Notes の Data フォルダ>\workspace\.config\org.eclipse.update フォルダの platform.xml ファイルを、編集前の状態に戻します。
さらに、<Notesのインストールフォルダ>\framework\extlib\eclipse フォルダ以下の plugins フォルダを削除します。